// pages/user/user.js
import {LoginApi} from "../../request/api"
Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 底部的列表数据
    iconArr: [{
      icon: "label-o",
      text: "我的订单"
    },{
      icon: "bill-o",
      text: "优惠券"
    },{
      icon: "goods-collect-o",
      text: "礼品卡"
    },{
      icon: "location-o",
      text: "我的收藏"
    },{
      icon: "flag-o",
      text: "我的足迹"
    },{
      icon: "user-o",
      text: "会员福利"
    },{
      icon: "location-o",
      text: "地址管理"
    },{
      icon: "warning-o",
      text: "账号安全"
    },{
      icon: "service-o",
      text: "联系客服"
    },{
      icon: "question-o",
      text: "帮助中心"
    },{
      icon: "smile-o",
      text: "意见反馈"
    },{
      icon: "setting-o",
      text: "设置"
    }],
    // 是否显示登录框
    isShowLogin: false,
    // 头像链接
    act_avatar: '/assets/images/act_avatar.jpg',
    avatar: wx.getStorageSync('token') ? '/assets/images/act_avatar.jpg' : '/assets/images/default_avatar.png',
    // 用于登录之后展示用户名
    username: wx.getStorageSync('token') ? JSON.parse(wx.getStorageSync('userInfo')).username : '点击登录',
    // 用户名错误提示
    username_err: false,
    // 密码错误提示
    password_err: false,
    // 登录的用户名
    login_username: '',
    login_password: '',
    // 判断是否登录 显示状态值
    isLogined: wx.getStorageSync('token'),
    // 是否显示退出登录框
    isShowLogout: false
  },
  onInputUsername(e){
     this.setData({
      username_err: e.detail.trim()==='',
      login_username: e.detail
     })
    //  console.log(this.data.login_username);
  },
  onInputPassword(e){
     this.setData({
      password_err: e.detail.trim()==='',
      login_password: e.detail
     })
  },
  async loginSubmit(){
    if(!this.data.login_username){
      this.setData({
        username_err: true,
      })
      return
    }
    if(!this.data.login_password){
      this.setData({
        password_err: true,
      })
      return
    };
     // 发起登录注册请求
    let res = await LoginApi({
      method: "POST",
      data:{
        username: this.data.login_username,
        pwd: this.data.login_password
      }
    });
    console.log(res);
    // 登录成功之后的步骤
    // 1、提示登录成功
    wx.showToast({
      title: '登录成功！',
      icon: 'success',
      mask: true
    })
    // 2、保存token值 及用户信息
    wx.setStorageSync('token', res.data.token)
    wx.setStorageSync('userInfo', JSON.stringify(res.data.userInfo))
    // 给用户反应时间，放在定时器里面
    setTimeout(()=>{
      this.setData({
        // 3、关闭模态框
        isShowLogin: false,
        // 4、显示登录状态，渲染用户信息
        username: res.data.userInfo.username,
        avatar: this.data.act_avatar,
        // 登录状态为true
        isLogined: true,
        // 清空输入框的用户名和密码
        login_username: '',
        login_password: '',
      })
    },1500)
    // 判断是否需要返回上一页，强制跳转到登录页面的才需要返回
    if(getApp().globalData.isGoBack===true){
      // 5、登录成功后，返回上一页(并且带有id)
      wx.navigateTo({
      url: getApp().globalData.prevRouter ,
      })
      getApp().globalData.isGoBack = false
    }
   
  },
  goToLogin(){
    // 如果已经登录，则不能点击登录按钮
    if(this.data.isLogined){
      return
    }
    // 展示登录窗口
    this.setData({
      isShowLogin: true
    })
  },
  goToLogout(){
    this.setData({
      isShowLogout: true
    })
  },
  LogoutOkFn(){
    // 退出登录，清除Storage
    wx.clearStorageSync()
    // 修改用户名、头像
    this.setData({
      avatar: '/assets/images/default_avatar.png',
      username: '点击登录',
      isLogined: false
    })
  },
  onClose(){
    this.setData({
      isShowLogin: false,
      isShowLogout: false
    })
  },
  onClickGrid(){
    wx.showToast({
      title: '该功能暂未开启',
      icon: 'error'
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.getTabBar().setData({
      active: 4
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})